package com.bd;




import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class datos  extends SQLiteOpenHelper{
	
	
	private static final String DATABASE = "proyectos.db";
	private static datos singleton=null;
	

	private static String sql= "CREATE TABLE proyectos (idproyecto int not null, idformulario int not null,idencuestador int not null, idpregunta int not null,  valor text not null,fechapregunta text,x text,y text,imei text, transmitido int, terminado int, PRIMARY KEY(idproyecto, idformulario, idpregunta))";

	private datos(Context context) {
		super(context, DATABASE, null, 4);
		
	}
	public static  datos instancia(Context context)
	{
			if(singleton==null)
			{
		singleton = new datos (context.getApplicationContext());
			}
	
		return singleton;
	}
	

	@Override
	public void onCreate(SQLiteDatabase db) {
	
		// tablas que no existen en el primer aplicativo dispotivs, triger de imagenes, imagenes
		
		db.execSQL(sql);
		
		//db.execSQL("CREATE TABLE [consecutivo] (idproyecto int,formconsecutivo int not null,fecha text )");
		db.execSQL("CREATE TABLE [usuarios] ([idtblclientes] NVARCHAR(10) NOT NULL,[Idencuestador] NVARCHAR(10) NOT NULL,[Nombre] NVARCHAR(50) NOT NULL,[Direccion] NVARCHAR(50) NOT NULL,[telefonofijo] NVARCHAR(50) NOT NULL, [celular] NVARCHAR(50) NOT NULL, [password] NVARCHAR(50) NOT NULL, PRIMARY KEY(idtblclientes, Idencuestador))");
		db.execSQL("CREATE TABLE [movimiento] (_id INTEGER PRIMARY KEY AUTOINCREMENT,idencuestador int not null,idformulario int,imei text,fecha text not null,form text,accion text )");
		db.execSQL("CREATE TABLE [log] (_id INTEGER PRIMARY KEY AUTOINCREMENT,idencuestador int not null,idformulario int not null,idpregunta int not null,imei text,valor text )");
		db.execSQL("CREATE TABLE [dispositivo] ([usuario] NVARCHAR(10) NOT NULL,[contrasena] NVARCHAR(10) NOT NULL)");
		db.execSQL("CREATE TABLE imagenes (idproyecto int not null, idformulario int not null,idencuestador int not null, idpregunta int not null, imei text,myImage BLOB);");
		db.execSQL("CREATE TABLE [cargaTrabajo] ([Municipio] INTEGER  NULL,[Comuna] INTEGER  NULL,[Barrio] INTEGER  NULL,[Manzana] INTEGER  NULL,[Vivienda] INTEGER  NULL,[Direccion] VARCHAR(100)  NULL,[IdEncuestador] INTEGER  NULL,[Descargar] VARCHAR(10)  NULL,[Realizado] VARCHAR(10)  NULL)");
		db.execSQL("CREATE TABLE logimagenes (_id INTEGER PRIMARY KEY AUTOINCREMENT,idproyecto int not null, idformulario int not null,idencuestador int not null, idpregunta int not null, imei text,myImage BLOB)");
		db.execSQL("CREATE TRIGGER logginsert AFTER INSERT ON proyectos BEGIN insert into log(idencuestador,idformulario,idpregunta,imei,valor) values (new.idencuestador,new.idformulario,new.idpregunta,new.imei,new.valor);END");
		db.execSQL("CREATE TRIGGER loggupdate AFTER UPDATE ON proyectos BEGIN insert into log(idencuestador,idformulario,idpregunta,imei,valor) values (new.idencuestador,new.idformulario,new.idpregunta,new.imei,new.valor);END");
		db.execSQL("CREATE TRIGGER loginsertimagenes AFTER INSERT ON imagenes BEGIN insert into logimagenes (idproyecto,idformulario,idencuestador,idpregunta,imei,myImage) values (new.idproyecto,new.idformulario,new.idencuestador,new.idpregunta,new.imei,new.myImage);END");
		
		db.execSQL("CREATE INDEX formulario_encuesta_idx ON proyectos(idformulario);");
		db.execSQL("CREATE TRIGGER delete_imegene AFTER DELETE ON proyectos BEGIN delete from imagenes where idproyecto= OLD.idproyecto and idformulario = OLD.idformulario and  idencuestador=OLD.idencuestador and idpregunta = OLD.idpregunta;END");
		/*
			for (int i=1;i<=100000;i++)
		{
			db.execSQL("INSERT INTO proyectos(idproyecto, idformulario ,idencuestador , idpregunta ,  valor ,fechapregunta ,x ,y ,imei , transmitido , terminado) values (3,'" + i + "',222,'" + i + "','xxxxx', 'xxxxx','xxxxx','xxxxx',' 354515040141342',0,0)");
			
		}*/
		
	
		
		//	db.execSQL("CREATE TABLE [consecutivo] (formconsecutivo int not null,fecha text )");
		
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
		/*db.execSQL("CREATE TABLE [movimiento] (_id INTEGER PRIMARY KEY AUTOINCREMENT,idencuestador int not null,idformulario int,imei text,fecha text not null,form text,accion text )");
		db.execSQL("CREATE TABLE [log] (_id INTEGER PRIMARY KEY AUTOINCREMENT,idencuestador int not null,idformulario int not null,idpregunta int not null,imei text,valor text )");*/
		//db.execSQL("CREATE TABLE [consecutivo] (idproyecto int,formconsecutivo int not null,fecha text )");
		/*if(oldVersion==3 && newVersion==4)
		{
			db.execSQL("DROP TABLE IF EXISTS dispositivo");
			db.execSQL("DROP TABLE IF EXISTS logimagenes");
			db.execSQL("DROP TABLE IF EXISTS loginsertimagenes");
			
		
		
		}*/
	}
	
	
	
	
}
